package com.aispeech.asr.comm.data.vo.sentence;

import com.aispeech.asr.comm.data.form.sentence.SentenceForm;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;

import java.util.List;
import java.util.Map;

@Data
@RequiredArgsConstructor
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class AsrData {
    @NonNull
    private String sessionId;
    @NonNull
    private SentenceForm request;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Map<String, Long> metrics;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Object[] kernel;

    private List<AsrSentence> result;
    private List<AsrSegment> segments;
}
